home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
comm
/
prtcs155.zip
/
GENMAILE.DOC
< prev
next >
Wrap
Text File
|
1994-01-14
|
58KB
|
1,444 lines
$VER: GENMAILER DOC Shelter Mailer Configuration Documentation Williamson 1.50
GenMailer reads an number of config files and generates a number of
site specific wpl programs for one of the Shelter Mailers: The Roof,
Porticus, Gazebo and Umbrella Mailers. Certain rexx ClipVars,as well as
ENVARC: and ENV: variables are set for use by the particular Shelter
Mailer's Manager program and by other external rexx scripts.
Thanks to Yanik Grignon and Matthew Mondor for their invaluable Beta
testing help.
Thanks to Russell McOrmond for wpl.library and xprfts.library, James
McOrmond for wplemsi.library and Yves Konigshofer for xprzedzap.library.
Usage: GenMailer MailerName mode [path]
GenMailer (ROOF|PORTICUS|GAZEBO|UMBRELLA)
ALL All output modules are generated
EMSI EMSI is added to ALL
ALLNC Cache, Clock [and Notify] modules are not regenerated
EMSINC Cache, Clock [and Notify] modules are not regenerated
CACHE Regenerate and Reload Site Cache
Internal options:
Within the first few lines of GenMailer.rexx you will find a number of
switches.
CKDOMAIN=1
If 1, will fix the domain of the primary address presented,
If that domain is FIDONET and Zone is NOT 1-6. If we find a
match for the zone the remote site presented in our AKA list,
we will use the related domain.
KILLBAD=0
If 1, we will hang up if remote presents a bad password for
primary address
If 0, we will send only files that have been queued for a site
named BADPASSWORD. (See EMSI_LINKS.DOC)
KNOWNAKAONLY=1
If 1, we will onlt send file for those AKAs we have listed in the
SiteCache.
If 0, we will only send file for the PRIMARY address presented.
SHOWXPRASC=0
If 1, Xprascii transfer window will be displayed if showxpr is
TRUE.
If 0, XPRascii transfer window will not be displayed.
REXXDOS=1
If 1, RexxDosSupport.library had been LoadLib'ed and RxLib'ed
in Startup-Sequence or Start-ARexx user startup.
ENVIRONMENT:
All Shelter Mailers expect certain devices and libraries:
- NULL: device mounted.
- rexxsupport.library addlib'ed
- ENVARC: copied to ENV: in startup-sequence
Required Assigns:
CFG: - all configuration information is here
LOG: - logs and accounts
Mail: - executables
Info: - banner, bulletin, help and text files
XFERQ: - outbound queues (created from mailerGEN.cfg)
this must be a unused directory
Required Libraries:
rexxsupport.library
rexxdossupport.library
hgrexxsupport.library
wpl.library
wplemsi.library
xferq.library
xprzedzap.library
xprfts.library
xprascii.library
OwnDevUnit.library
msgbase.library (if using TLlookup)
Required Devices:
null.device
Required Directories:
GenMailer and Shelter will create most of the directories required
by each Shelter Mailer.
For Porticus and Roof, when using RFS and WPLRX utilities, the
following additional directories must be created.
INFO: contains text and help files, banner and bulletin
I use CFG:INFO
LOG:rfsacct/ contains mailer accounts.
LOG:rfsacct/h/ contains Grab user accounts as well as
sysop messages to users.
LOG:freqit/ Wfreqit accounts
CFG:freqit/ Wfreqit configuration, help and text files
See Shelter.doc for additional requirements.
Input Files:
CFG:screen.cfg
CFG:wpl/gen/roof/RoofGen.cfg
CFG:wpl/gen/porticus/PorticusGen.cfg
CFG:wpl/gen/gazebo/GazeboGen.cfg
CFG:wpl/gen/umbella/UmbrellaGen.cfg
These contain config information related to the site: aka's,
sysopname, sitename; directories used ; program specific values ; and user
related menus and prompts.
CFG:wpl/gen/mailername/src/
Contains features under development for each mailer.
Do NOT modify these.
Generated OutPut files:
roofCFG.wpl and roofMENUS.wpl
porticusCFG.wpl and porticusMENUS.wpl
gazeboCFG.wpl
umbrellaCFG.wpl
MAILER CONFIGURATION
--------------------
Screen.CFG:
If the SCREEN name is not 'WORKBENCH SCREEN', and the configured SCREEN
is not already opened, a public screen will be opened using ScreenManager
(1.13c) and the information in Screen.cfg.
PLEASE SEE ScreenManger 1.13c docs (FREQ: ScreenMgr1_13c.LZH) for more
information on the options.
Keywords descriptions extracted from ScreenManager.DOC.
TEXTOVERSCAN_WIDTH=652
TEXTOVERSCAN_HEIGHT=230
These are the TEXT OVERSCAN VALUES as defined in the Prefs
program OVERSCAN.
SCREENMODES="H"
Determines the graphics mode (and thus the resolution).
You just provide a letter representing the ScreenMode name,
like those found in the ScreenMode preferences tool. It
depends on your graphics hardware (ECS,AGA,AAA) and monitor
(Multiscan,...) which modes are available and how you may
combine these. If a certain mode is not available, you will be
told so in an error message.
These are the letters you can use:
H: HiRes (Default value: LoRes)
L: Lace (Default value: no interlace)
S: SuperHiRes
E: ExtraHalfBright
V: VGA
P: Productivity
A: A2024 at 10 Hz
F: A2024 at 15 Hz
X: HAM
The desired mode is simply selected by concatenating the
letters defining it - like in MODE=SL for SuperHiRes-Lace.
SCREENGLOBALS
A comment separated string.
SHANGHAI turns on Shanghai mode
NOSHANGHAI turns off Shanghai mode
POPPUB turns on Poppub mode
NOPOPPUB turns off Poppub mode
TOFRONT open screen in front
TOBACK open screen in back
CLOSEGAD provides a screen with a CLOSE gadget
AUTOCLOSE closes a screen when its last window is closed
DEFAULT makes a screen the system's default screen
eg: "TOFRONT,AUTOCLOSE"
SCREENCX="CX_TOFRONT='Lshift F1',CX_DEFAULT='F2',CX_PRIORITY='5'"
CX_TOFRONT sets the HotKey to brings screen to front
CX_DEFAULT sets the HotKey to make screen default
CX_PRIORITY sets the HotKeys priority
SCREENPREFS="640,235,3"
screenprefs - width,height,bitplanes
planes:
With this value you set the maximum number of colors that can
be simultaneously displayed, in this way: # of colors = 2^# of
planes. For different graphic modes, there are different
limitations on the value of PLANES. If these limits are
exceeded, you will get a corresponding error message.
SCREENFONT="IBM,8"
Sets the font and size that will become the screen's default
font. This may be a non-proportional font as well as a
proportional font. If the font cannot be found, the screen is
still opened with the system's default font (this is set with
the 'Font' preferences tool). Almost any value for size is
possible here, since the new diskfont.library will
automatically scale the font if the desired size could not be
found.
RGB Palette Setting:
This sets the color palette as RGB values. They are entered as
3-digit values, separated by spaces.
RGB.0=" 8 4 4"
RGB.1=" 0 0 4"
For 2 or more bitplanes
RGB.2="11 12 9"
RGB.3=" 7 7 6"
For 3 or more bitplanes
RGB.4=" 9 0 2"
RGB.5="12 7 1"
RGB.6="12 9 3"
RGB.7=" 7 6 7"
ADD MORE IF 4 or more BITPLANES
RGB.8=" 6 2 0"
RGB.9="12 12 12"
RGB.10=" 9 15 1"
RGB.11="14 10 0"
RGB.12=" 5 5 15"
RGB.13="12 14 12"
RGB.14="13 10 7"
RGB.15="14 5 1"
SCREENPENS="712341206"
Every character is interpreted as a hexadecimal index into the
color table that was set with the COLORS command. From this results that
only the first 16 color registers are usable.
Pen Name is used for...
1 DETAILPEN ordinary text (compatible with 1.3)
2 BLOCKPEN ordinary fill operations (compatible with 1.3)
3 TEXTPEN ordinary labels/
4 SHINEPEN shiny edges on 3D objects
5 SHADOWPEN dark edges on 3D objects
6 FILLPEN background of highlighted elements \ e.g. active
7 FILLTEXTPEN text in highlighted elements / window border
8 BACKGROUNDPEN background - must be set to 0
9 HIGHLIGHTTEXTPEN emphasized text
Make SURE you do not reference color registers that are not available for
the number of Planes selected.
*Gen.CFG format:
ROOFLOG FALSE
If TRUE, gives mailer access to the ROOFLOG function host
NOANSWER FALSE - his keyword is only applicable to
UMBRELLA. However, an ENV: variable
of the same name provides this control
for the other mailers (See
Shelter.DOC, External Control)
SYSOP $½SYSOP╗ - your name goes here
or
SYSOP ROBERT WILLIAMSON
CITY "Pierrefonds, Quebec, Canada"
City, province/state/etc, country. Only required if using EMSI.
PHONE "1-514-696-4768"
Full phone number or "-unlisted-". Only required if using EMSI.
FLAGS "V32b,V42b,MNP,FAX,CM,XX"
Your flags as listed in nodelist for primary address. In you are
not listed, check EMSI_FLAGS.doc in order to determine which flags
you should include. Only required if using EMSI.
BOSS 5daddress phonenumber
The Shelter Manager has an AUTO option which will start the mailer,
convert .FLO files, call the BOSS address and then exit. The BOSS
address should be your Boss if your are a point, or your primary
mail HUB if you are a node. The BOSS phone number MUST be entered.
Use of this feature is not recommended for sites other than points
and private nodes.
address "site name" wazooext zones
AKA fidonet#1:167/104.0 "Amiga ECS" org 1 2 3 4 5 6
The first AKA will be used to set your default address and DOMAIN.
address:
The first address is the default address which will be used when
calling or being called by a site which is not in any of your
domains.
sitename:
This is the name of your system as listed in the nodelist or your
origin line for that domain. Keep it short as It will be used in
the wazoo header.
wazooext:
NOTE: only FIDONET and MTLNET are authorized to use the 'org' all
others must use 'ftn'. The criteria is that the FTN's InterNet
GateWay is KNOWN to the InterNet.
zones:
the ZONE numbers used by this domain.
Directories:
DO NOT USE A TRAILING SLASH !
DIR indir Mail:inbound
Where files from secure ftn sites are received.
DIR nonsecure Mail:inbound/NONSECURE
Where files from ftn sites which not passworded or not in your Site
Cache are placed. You should NEVER automatically import or tick
these.
DIR resumedir Mail:inbound/RESUME
used internally for secure resume handling.
DIR outdir Mail:outbound
Where outbound archived mail and .?UT file are placed.
DIR flodir Mail:outbound/f
Where your obsolete tosser/ticker places obsolete .?LO files. It
should NEVER be the same as outdir. If your obsolete tosser/ticker
does not allow you to configure this, for security you should use a
script to VIEW each flo file and copy ONLY the ones that YOU
created to flodir.
DIR rexxdir Mail:rexx
Path where Shelter Mailer rexx programs may be found.
DIR userdir MAIL:USERS (ROOF & Porticus only)
Upload path for humans.
DIR freqdir MAIL:inbound/freqs (ROOF & Porticus only)
Directory where received freqs are moved by WfreqIt.
DIR faxindir Mail:inbound/fax (ROOF & Porticus only)
Directory where we receive faxes
DIR faxoutdir Mail:outbound/fax (ROOF & Porticus only)
Directory where faxes to send are placed
XFERQ Mail:queue
Where Xferq.library stores the queue files, XFREQ: will be
assigned to this directory. This should be an directory that YOU
will NEVER use.
NODELIST Mail:nodelist
Where TrapList or Igen stores the nodelists, config files and index
files. NODELIST: will be assigned to this directory.
PSCREEN "WORKBENCH SCREEN"
This is the screen upon which the Mailers windows will be opened.
Shelter will open this screen (if NOT "WORKBENCH SCREEN") with
ScreenMgr 1.3c using the values in CFG:SCREEN.CFG. This program is
the ONLY one of the many that I've tested that provides all the
options I wanted in ROOF and does not give me any wierd problems.
Note that the Mailer windows expect the screen width to be at least
MAXIMUM OVERSCAN.
WSPEC NOSIZE/NODEPTH/INACTIVE
Console Specification keywords for Mailer Display
THESE MUST BE SLASH SEPARATED, one or more of these WB3.1 keywords:
AUTO CLOSE BACKDROP NOBORDER NODRAG NOSIZE NODEPTH
NOCLOSE NOZOOM INACTIVE SIMPLE SMART WAIT SCREEN
You should ALWAYS include NOSIZE, as resizing will destroy display.
WARNING:
At this time it is not recommended to use NODRAG or BACKDROP, as
the code to position multiple linewindows is broken and windows are placed
one on top of another. :(
WPOS 0/80/600/40
Shelter Mailer Status Display position and size, SLASH SEPARATED
SPOS 0/80/600/100
Shelter Manager Progress Display position and size, SLASH SEPARATED
SSPEC INACTIVE/AUTO/WAIT
Shelter Progress Display Console Specification keywords, SLASH
SEPARATED
LOGFILE "LOG:Mymailer.log"
Full path name for the mailer log file.
LOGWINDOW "RAW:0/148/650/87/Mailer Log/AUTO/INACTIVE/CLOSE"
If this is defined, the logfile will also be displayed in the
window. DO NOT add SCREEN, this is done automatically.
XPRWIN TRUE|FALSE
If true the XPR file transfer window will be displayed.
If FALSE, you can reenabled it manually via the command:
RX "ADDRESS <mailername><line> 'Set showxpr TRUE'"
eg: Rx "Address GAZEBO1 'Set showxpr TRUE'"
DIALWIN TRUE|FALSE
If true poll progress windows will be displayed. This should be
set FALSE if you have a LOGWINDOW defined.
SCROLL <level>
Select the amonut of information presented in the additional scroll
window (SPOS, SSPEC).
5 - launch,preinit,reinit,dial,answer,connect,user
4 - launch,preinit,dial,answer,connect,user
3 - dial,answer,connect,user
2 - connect,user
1 - user
0 - scroll window never opens
WARNING:
As you should know, the more windows you have opened, the slower the
response of AmigaDOS. It is recommmended that you use all windows when
initially setting up your mailer. Once you are satisfied that it is
operating correctly, I would recommend:
SCROLL 2 (If Porticus, 0 otherwise)
XPRWIN FALSE
DIALWIN FALSE
LOGWINDOW as you prefer
DOMAINAWARE "TRUE"
Your importer is domain aware and does not require separate inbound
directories for each domain. If FALSE, directories will be created
for each domain and files will be received there.
If this is FALSE, CMD SORTSESS and CMD SORTRECD will be run for EMSI
sessions unless PRIMARYONLY is TRUE
PRIMARYONLY TRUE
Present only our primary (default) address when calling EMSI.
UMH "04:00 06:00"
This is start and end times of your Universal Mail Hour. This is
also known as ZMH, but is not necessary limited to one hour. In
fact, to avoid problems when switching from Standard to DayLight
Savings time, many systems set UMH to 2 hours. YOU are expected to
use a CRON event to set ACCESS FALSE at the beginning and TRUE at
the end of this period. This keyword is simply used to inform a
caller how long to wait before calling back.
WAKEUP 180
Number of seconds between modem wakeup calls. The ATTEN string is
sent to the modem, if it fails to respond, the INIT string is sent.
It is not recommended to set this any lower than 45 seconds.
LOGINWAIT 60
Number of seconds to wait for input after a connection. This
applies to mailers, uucp, user command and menus. 60 seconds is
the recommended minimum.
CALLWINDOWMIN 60
The duration of a call window in minutes. Poll will be cancel if
this period is exceeded without a connection.
REDIALDELAY 180
The delay in seconds to wait between dials on BUSY response.
BUSYDELAY 60
The delay in seconds to wait between dials when line is already
dialing another number.
IGNORENOANSWER TRUE
Treat a no answer same as busy. Useful, since most msdos sites do
not answer when they are tossing mail.
CLOCK TRUE
Install Atomic CLOCK dialing and connect code if true
ONLINE TRUE
Install bbs and online service dialing/term launching code if true.
SPEECH TRUE
Address (or username) called or calling will be spoken if true
WFHOST TRUE (ROOF and PORTICUS only)
Install WPL FunctionHost as Line 1
UUCP TRUE
Install UUCP code if true, this also sets the mailer to to accept
UUCP calls. The ENV variable may be set FALSE via a cron event in
order to disable accepting uucp sessions.
ACCESS TRUE
Enable user access, BBS spawning, WPL Utilities. The ENV variable
MUST be set FALSE via a CRON EVENT in order to disable executing
these features.
ALLOWFREQS TRUE
Process inbound file requests. The ENV variable may be set FALSE
via a cron event in order to disable processing file requests.
FTSFREQS FALSE
Process file requests in FTS1 sessions. The ENV variable may be
set FALSE via a cron event in order to disable processing file
requests during an FTS session.
BANNER <fullpath>
If this keyword is used, the file specifed will be sent instead of
the 'BAN welcome'. GenMailer will check if it exists and exit of
not. The Mailer will check if it exists before trying to send it.
Protocol Preferences
ZAP - ZedZap, batch, max 8k block, based on baudrate
ZIP - ZedZip, batch, 1k block
DZA - DirectZap, escaped control chars
ZMO - w/1,024 byte data packets
SEA - SeaLink, xmodem varient
TLK - Telink, xmodem variant
DFA - DietIFNA, xmodem/telink/sealink with mailer flags
LTK - Lotek, xmodem
KER - Kermit
EMSI_PROTOCOLS "ZAP,DZA,ZMO,SLK,TLK" (not yet implemented)
List of file transfer protocols, in EMSI format, the first one is
the only one presented when answering. Only those listed will be
installed.
WAZOO_PROTOCOLS "ZAP,ZIP,DZA,DFA,LTK" (not yet implemented)
List of file transfer protocols, in EMSI format. Only those listed
will be installed.
These take numeric values to be applied to a wplvariable
STACK 50000
PRIORITY 2
Stack size and priority for external programs
LAUNCHPRI 2
priority at which a slave is launched
NEGOPRI 3
priority to use during WaZoo/EMSI negotiation
XFERPRI 5
xferpri is priority of file transfers
These take a "string value" to be applied to a wpl variable
LOOKUP "ram:tllookup >NIL:" (NOT APPLICABLE to UMBRELLA)
The program used to Lookup Nodelist Info is defined here. Console
Output is discarded.
UUCICO "UUCP:c/uucico -o -pri"
uucico command line. site address, device and unit are added
automatically. Site specific options are added from the uuopts
entry in the SITE CACHE for each site address
LOGIN "Mail:login <NULL: >NULL:"
Login command line, user name, device and unit are added
FAXSEND "Mail:faxsend -f $(unit)/$(device) -l 17 -v"
Command to send a fax (ROOF & Porticus only)
FAXRECV
"Mail:faxrecv -d $(faxindir) -f $(unit)/$(device) -l 17 -v -ii"
Command to receive a fax (ROOF & Porticus only)
User Utilities apply to ROOF & Porticus only, with the noted
exceptions.
BULL <fullpathname> This file will be sent using XPRascii when a
user logs in. The mailer will check if it
exists before trying to send it.
ESC-ESC (ROOF and PORTICUS ONLY)
Determines what will happen when the user hit ESC twice
ESC-ESC BBS directly launch BBS # 1 without user
name prompting
or
ESC-ESC SELECT prompt for user name and show BBS MENU
or
ESC-ESC MENU prompt for user name and show MAIN MENU
MENU GEN|MAKE [RAM]
Controls how menus are generated and displayed to the caller
MENU GEN
Menus will be generated as *MENUS.wpl modules. Menu entries are
limited to 256 characters.
MENU MAKE
Menus will be generated as text files and be displayed using
xprascii protocol. OutPut files will be placed in CFG: If
your Startup-Sequence includes a command to copy *.menu to RAM:,
use the RAM option to cause these to be sent instead.
Generates: MAIN.MENU, MAGIC.MENU, INFO.MENU, BOARD.MENU
WARNING:
Using xprascii to display the menus is much slower. However,te
advantage is that one can use much LARGER and prettier menus. One can EDIT
these *.menu files to add ANSI and text graphics. Be sure to back these
up, otherwise they will be overwritten the next time GenMailer is executed.
The main menu will be created with the following entries in addition to
the ones you specify.
MainMenu Default entries:
MAGIC - the user will be presented with the MAGIC submenu.
INFO - the user will be presented with the TEXT submenu.
BOARD - the user will be presented with the BBS submenu.
WRM indicates item is an internal command, while WRX indicates item is
an external WPLRX script. In both cases the command and description will
be added to the MAIN menu displayed to the user. For more info in the
WPLRX commands, see Shelter.DOC.
command command description
WRM HELP "OnLine help, just enter HELP <command>"
The HELP command will search for a file named:
INFO:<command>.HLP and display it, if found,
using xprascii.library
WRM UL "Zmodem Upload to sysop (with resume enabled)"
The user wil be prompted for descriptions after
the upload.
WRX GRAB "Free Zmodem DownLoads"
WRX NOTE "Leave a message to Sysop"
WRX WFREQIT "File Request Forwarded"
WRX EMP "Amiga Empire Game"
WRX QWK "Falcon QWK Handler"
WRX SHOWAC "View your File Account"
WRX CHAT "Page the sysop"
WRM BYE "Hangup"
TEXT
These entries will appear on the INFO submenu. Files will be sent
via XPRascii. If description is "na", it will NOT be added to menu.
magicname fullpath desc
TEXT new Mail:filelists/newfiles.lst "View NewFiles This Week"
MAGIC
These entries will appear on the MAGIC submenu. Files will be sent
via XPRzedzap using Zmodem. If description is "na", it will NOT be added
to menu.
magicname fullpathname description
MAGIC files MAIL:FILELISTS/01670104.LHA "Zmodem Send Archived list of Files Available"
BBS
List of BBSes for BBS Selection menu (ROOF and Porticus only),
Gazebo permits only ONE BBS entry. BBS is not applicable to
umbrellaGEN.cfg. Take Note the relationship of the ESC-ESC option to this
menu and the first BBS listed.
The bbs name field must be in quotes, the launch command does not
require enclosing quotes. All imbedded quotes MUST be escaped with a
backslash.
A CLI command line must be used. If the bbs command detaches from
the CLI, you must run it from a rexx script so that the command does not
return until the bbs exits. A simple example for Falcon CBCS, LAUNCH.rexx
is provided. You may modify this for your own bbs. More complicated
examples, such as Launch_FALCON.rexx and Launch_CONTACT.rexx and
LAUNCH_BBS.rexx may be file requested under those names.
If the bbs is launched via a REXX message then you should do this:
BBS "My BBS" rx \"Address \"MYBBSPORT\" \"mybbscommand $(line) $$(baud)\"\"
If passing the modem<->modem rate, the baud variable MUST be
deferred: $$(BAUD)
bbs name command to launch it
BBS "Amiga ECS" RPDIR:Launch_BBS $$(baud) $(line)
or
BBS "Amiga ECS" RX RAM:rexx/Launch_BBS $$(baud) $(line)
DOOR
Any CLI door or program which can be exited with a BREAK command
may be used. The i/o will be redirected to the modem using the CTDL-AUX:
device. DOOR.wplrx start Carrier.rexx asyncrounously to monitor the
CARRIER of the line and then starts the door. If carrier drops while a
door is active, a BREAK command will be sent to the door.
The description field must be in quotes. The door launch command
does not require enclosing quotes, but any embedded quotes that the door
may require, must be escaped with a backslash.
"description" launch command
DOOR "Adventure in The Collossal Cave" DOORS:adv/adventure
DOOR "StarTrek" RexxC:rx DOORS:StarTrek \"$$(username)\"
DOOR "Grin of the Day" RexxC:rx Rexx:rexxdoors/Grin_du_Jour
DOOR "Fortune" RexxC:rx Rexx:rexxdoors/Your_Fortune
CMD
These are the commands to execute on file notification for both
AFTERSESSION and WHENRECD. Unlike ANY other mailer, multiple commands can
be executed based upon filetype, either when a file is received or after
the session. In some cases it may be desireable to have BOTH the WHENRECD
and AFTERSESSION commands executed.
Note that the CACHE also permits site-specific PREDIAL, PRESESSION
and AFTERSESSION commands.
Deferred wpl variables are NOT required for these commands.
You can specify these commands in three ways, in all cases, any WPL
variables must be specified undeferred (ie: "$(name)").
- as ENV variables so that they are expanded from the the mailer's ENV:
directory when executed.
- as expandable ENV vars "$½...╗" so they are expanded from the ROOT of
ENV: during compile.
- as a command string,
The command will be set as an environmental variable in the mailer's
ENV: subdirectory. This allows you to change it on the fly at any time.
See impsess for example of three methods:
CMD entries should NOT be in quotes.
WHENRECD:
CMD sortrecd Run >NIL: Rx ram:rexx/ftnsort $(indir) $(remfile)
- sort an archive of packet by ftn domain
This command overrides arcrecd and pktrecd
If aftersession processing preferred then set:
Echo >>T:sortlist $(indir)$(remfile)
CMD arcrecd Run >NIL: Execute S:TOSSARCS $(host.domain)
- import a mail archive
CMD pktrecd Run >NIL: Execute S:TOSSPKT $(host.domain) $(remfile)
- import a mail packet
CMD tickrecd Run >NIL: Ftick CFG:Ftick.cfg.$(host.domain)
- process a tic
CMD uucprecd - included for completeness, but there is no
obvious use for it at this time since uucico
calls uuxqt
CMD faxsent "" (N/A) - command to run after sending a fax
CMD faxrecd "" (N/A) - command to run after receiving a fax
AFTERSESSION:
CMD sortsess Run >NIL: Rx ram:rexx/ftnsort LIST t:sort$<port>list
Only set If whenrecd processing not desired.
This command overides impsess
CMD impsess Run >NIL: Execute S:TOSSARCS $(host.domain)
- start an import for the domain
(as a command string)
impsess ${IMPSESS}
- as an ENV variable, the variable would contain:
Run >NIL: Execute S:TOSSARCS $(host.domain)
impsess $½IMPSESS╗
- as a expandable ENV variable,
the variable would contain:
Run >NIL: Execute S:TOSSARCS $(host.domain)
CMD ticksess Run >NIL: RPDIR:TICKMGR FILE $(host.domain)
- process ticks
CMD freqsess Run >NIL: Mail:rexx/FreqNote.rexx
- process files received for sent requests
NOTE: If using WFREQIT, you must use:
Run >NIL: Mail:rexx/WFREQit-Check $(inbound)
CMD termsess Run nil: rx mail:rexx/ftpnote.rexx
- command to run after a term program session
The included example script sets the filenote of
files in DL:ftp to the SHORT description in the ftp
.readme file.
Mail SORTING and PROCESSING commands are mutually exclusive. If a
SORTRECD command is set, the ARCRECD and PKTRECD commands will not be
executed. If a SORTSESS command is set, IMPSESS command will not be
execute. Keep in mind the fact that Site-specific AFTERSESSION commands
OVERRIDE the global ones.
In my own setup, I use both types of command for SORT and TIC
handling. For example, the TICKRECD command calls FTICK, which I have
setup to make a list of files received. The TICKSESS command runs my
TickMGR, which uses this list to post a files received message, redirect
certain fileechos to a different area, check for and start nodediff
processing and update my BBS's fileareas lists for each area affected.
I also do not run any AFTERSESSION command for ARCmail or Packets,
I only use WHENRECD. This means I import while still online. It is
amusing when sometimes I can actually reply to a message and send the reply
in the same session as it was received. This completely blows away ibm
sysops :) and it is only possible with WPL mailers.
Mail sorting is only enabled in the following situations:
MULTI is set true for a site in the Cache
DOMAINAWARE and PRIMARYONLY are FALSE
In my own setup my SORTRECD command simply creates a list of files
received. The SORTSESS command processes this list, extracting and moving
packets to the appropriate inbound area and calling the import script.
WPL Variables for WHENRECD, AFTERSESSION and FREQ commands:
The Host and Remote addresses are set as stem variables, where <stem>
may be either "host" (us) or "remote" (them). The stem variable includes:
<stem>.address , <stem>.network, <stem>.text
<stem>.domain, <stem>.zone, <stem>.net, <stem>.node, <stem>.point
<stem>.network currently one of 'FIDO', 'UUCP', 'FQDA', 'TEXT'.
<stem>.address a full nDimensional address list for the <stem>.network
as specified by Xferq.
For FTN, this would be: domain#zone:net/node.point
listed - remote site is listed in the Site Cache
or a Nodelist.
inbound - current inbound directory (includes trailing slash)
remfile - received filename
infile - fullpathname of received file
There are many other variables available but normally they not
required.
FREQ
FREQ* keywords apply to Gazebo ONLY. ROOF and PORTICUS use RFS
and expect RFS.CFG and FREQ.LST to be in RAM:.
XfreqSH is an xferq command which allows one to use any .FLO
style freq handler with xferq.library and wpl mailers. Certain Freq
Handlers are Xferq compatible, such as FreqMate.
Example FREQCFG entries
; Internal XfreqSH Freq Handler
#?.req #RAM:freqlist.lst INFO:BadFreQ.Txt
; SkyFreq Freq server 2.90
#?.req run RAM:skyfreq %R %o %z %N %n %p Sysop %s
; Freq Handler included with DLG
#?.req dlg:tptfreq t:filenotfound %R %O
; FFRS v1.24
#?.req RAM:FFRS RAM:FFRS.cfg %R %o %b %z:%N/%n.%p Sysop
If using RAM: for fast loading, startup will need to copy them there
FREQCMD RAM:Xfreqsh
FREQCFG RAM:Xfreqsh.cfg
FREQLOG LOG:FREQ.LOG
BAN
These are prompts and banners which are displayed to the user.
These are the ROOF ones.
BAN timeout "\n\rYou have exceeded the $(loginwait) sec. input timeout, Bye...\r\n"
Message sent to caller when he has exceeded logindelay.
System then hangs up.
BAN sysver " Roof Mailer v$½SMVER╗ Roof System v$½RVER╗.$½RTAB╗ ${WPLname}"
System version banner
BAN welcome " /// Welcome To The\r\n /// ____ ___ ___ ___\r\n /// / _ // // // __/\r\n /// / __ // / // / // _/\r\n \\\\\\ /// /_/ \\ /___//___//_/\r\n \\\\\\ ///\r\n \\\\\\ /// ? for ROOF menu.\r\n"
System Welcome Banner
The above to are presented to callers on connect.
NOTE: that all '\' backslashes must be escaped.
If you wish to display a banner larger than 256 bytes, use the
BANNER keyword.
BAN sysprompt "\r\nThe ROOF [Line:$(line)] ? for menu or login: "
System Command Prompt
BAN notumh "Sysop has disabled $(namebuf) access during software upgrade."
This is the message to present to human callers when ACCESS
is set FALSE outside of UMH.
NOTE: the user will be given the number of minutes to wait
before calling back if he calls DURING UMH.
Here's Umbrella:
BAN timeout "\n\rYou have exceeded the $(loginwait) sec. input timeout, Bye...\r\n"
BAN welcome " Come under my Umbrella, you must be wet.\r\n"
BAN sysprompt "\r\nMailers Only:\r\n"
BAN sysver " Umbrella Point Mailer v${WPLVER} ${WPLname}"
/* TAGNAME of area where user messages will be posted */
SYSOPBASE ECS_SYSOP
SYSOPBASE <tagname[@domain]>
This is a TAGNAME as appearing in your tossers config file. NOTE,
GRAB and UserUL will call Smsg to write an inbound packet with this
TAGNAME. It is your resposibility to import this packet.
If the domain is other tha your primary or default domain, you may
specify the correct domain by using tagname@domainname
SITE CACHE CONFIGURATION
------------------------
CFG:wpl/gen/mailername/Cache.cfg
This contains information related to sites with which one has
regular sessions.
Generated: roofCACHE.wpl, gazeboCACHE or umbrellaCACHE.wpl is
generated.
GenMailer will create a cache of ftn (nodelist), uucp, internet, bbs,
fax and atomic clock site information for those systems one calls often.
The removal of the overhead of a Nodelist/L.sys/Passwd Lookup for sites
such as your net, echomail and usenet feeds, greatly speeds up dialing and
wazoo/emsi/uucico response times.
mailernameCACHE.wpl is called during a slave startup to set the values
node, number, password, sitename, sysop for EACH slave. These five MUST be
defined, in order for the cache to be useful. Obviously, one must have a
password set with each system one caches. Clock sites do not require a
password.
node aliases:
bbs------ mixed case
a BBS or Online service
the 'term' command will be executed on connect
fax------ mixed case
a fax modem or machine
either the faxsend or faxrecv command will be
executed on connect.
---.-.-- last two characters must be mixed case
an internet site
uucico command will be executed on connect
------- mixed case
a uucp site
uucico command will be executed on connect
Required Keywords:
node ftn address (or addresses), bbs alias, uucp alias
or clock alias. A combination of types is permitted,
but uucp may not be in combination with other types.
number phone number of site
password session or login password (if none, set to "")
sitename name of system (in case of uucp/internet, full address)
sysop system operator's name
Optional Keywords:
altnum alternate number to dial if first one busy
line line to use regardless of line requesed by calling script
dial alternate dial string to use
predial command to run before dialing a site
Additional FTN Site Keywords:
These need not be entered if FALSE or empty
multi if TRUE, indicates that site bundles multiple domain
packets in a single archive. Requires FTNsort.rexx.
useakasin if TRUE, we will send all files destined for any of the
site's KNOWN FTN AKAs during an INBOUND WAZOO session
keyword is not required if FALSE
useakasout if TRUE, we will send all files destined for any of the
site's KNOWN FTN AKAs during an OUTBOUND WAZOO session
keyword is not required if FALSE
sortsess aftersession command to execute for this site instead
of the global CMD SORTSESS.
This command overides impsess
freqsess aftersession command to execute for this site instead
of the global CMD FREQSESS, after sending a REQ.
ticsess aftersession command to execute for this site instead
of the global CMD TICSESS, after receiving TICs.
impsess aftersession command to execute for this site instead
of the global CMD IMPSESS, after receiving mail.
presess WPLRX script to run after connect and before handshaking
This is intended to be used with call forwarding and
packet switching services
Handshake Control Keywords:
handshake comma separated list of handshakes to try with this site
supported: EMSI,WAZOO,FTS1
Handshakes defined for line will be used if keyword not used.
present list of addresses, space separated, to present during
EMSI handshake. All AKAs will be presented if this keyword
not used.
Additional BBS Site Keywords:
term terminal program launch command
termsess aftersession command to use for this site instead
of the global CMD TERMSESS
Additional Clock Site keywords:
baud baudrate of this clock site
xprsetup xpr setup string
Additional UUCP Site Keywords:
uuoptions xx -pri -7 -P9
These are ADDITIONAL UUCICO command paramters
to use for this site
FTN sites:
If you have the same password for more than one FTN or address a site
carries, all these addresses may be placed in the node entry.
node fidonet#1:167/151.0 amiganet#40:600/1.0 amiganet#40:600/151.0
number 6847500
altnum 4210285
line 2
sitename Contact Plus
sysop Denis Turcotte
password xxxxxx
useakasin TRUE
handshake WAZOO,EMSI
UUCP/InterNet Sites: (Not applicable to UMBRELLA)
For UUCP/Internet sites, the node entry is the alias for the site.
altnum, line and dial keywords are accepted for uucp/internet sites. The
sitename keyword is the full address of the site.
node phoenix
number 3383798
line 3
dial ~AT&K0&M0DT
sitename phoenix.UUCP
sysop Yanik Grignon
password xxxxxx
node odn
number xxxxx
dial ~AT&K1&M4DT
line 2
sitename odn.mtlnet.org
sysop Mark Kraml
password xxxxxxx
Atomic Clock sites: (ROOF/PORTICUS Mailers only)
Clock sites do not require a password. Clock sites use two new
keywords, baud and xprsetup.
node clock
number 16139527729
baud 300
sitename National Research Council
xprsetup Y1993,O-4
xprsetup is the string to use with XprClock.library. "Y" being the
current year, "O" your offset from UTC (GMT). Note that most Atomic Clock
Sites will always give you Standard Time. If you wish to have you system
set to DayLight Savings Time, subtract 1 from the offset.
OnLine Services and BBS sites: (Not applicable to UMBRELLA)
Shelter Mailers can be used as an auto-dialer frontend for your term
program. The advantage is that while dialing the bbs or online service,
your system is still able to perform its ftn/uucp/clock polls as well as
answer and service incoming calls.
BBS sites (which can include online services such as Compuserve and
Genie) are entered in the SiteCache as follows:
node bbs_image
number 9372137
sitename Electronic Image
sysop Sean Mollitt
term Terminus:TSL IGNOREODU DEFAULTS Terminus$(line).DEF SCRIPT bbs_image.scp
As with UUCP dialing, the 'node' entry is the alias used in the dial
command. (eg: DIAL bbs_image) The 'sitename' and 'sysop' fields are
displayed in the mailer's GUI, in the same manner as other site types.
As with all Cache dialing, the 'dial', 'line', 'altnum' and other
applicable Cache options are supported for BBS dialing.
If the BBS is also an FTN node which is already in the cache, simply
add the term command to the entry and the bbs alias to his AKA list.
node fidonet#1:167/165.0 AMIGANET#40:600/165.0 bbs_image
The 'term' command MUST NOT DETACH from the cli. The configuration
should be line specific, otherwise you will have to add the $(device)
$(unit) and possible other variables to the command.
The term program must be told to ignore owndevunit.library since it is
being spawned in shared mode. It should also be told that there is a
carrier already present, so that it does not try to initialize the modem or
change the baud rate. (Terminus will ASSUME this, if there is either a
default STARTUP script or a LOGIN script specified on the command line).
If the term program supports a 'login' script, it should be included in the
command line in order to automate login. It is advisable that the login
script include a timeout routine to EXIT the term program if you are not
around when connection is made.
If necessary, one can use the variables $(line), $(device), $(unit),
$$(baud), $(baudlocked), $(lockedrate), $(linkrate), $(maxrate) in the
'term' command line. Remember that the modem<->modem rate must be
specified as $$(baud).
Fax sites: (ROOF & PORTICUS ONLY)
Sorry.... FEATURE is under development.
Site-Specific AFTERSESSION commands:
These use the same keywords as the global env CMD type. If one is site
for a site, it will executed instead of the global CMD set in *GEN.cfg.
freqsess aftersession command to execute for this site instead
of the global CMD FREQSESS, after sending a REQ.
ticsess aftersession command to execute for this site instead
of the global CMD TICSESS, after receiving TICs.
impsess aftersession command to execute for this site instead
of the global CMD IMPSESS, after receiving mail.
termsess aftersession command to use for this site instead
of the global CMD TERMSESS
If wpl vriables are used they MUST be deferred.
MODEM CONFIGURATION
-------------------
Both the modem itself AND the line are configured here. Each line can
be tailored to enable certian operations.
CFG:wpl/gen/mailername/modems/MODEMn.CFG
Each modem config contains information related to the particular
port, device, modem and display.
Generated: roof.wpl and roofMODEM.wpl or gazebo.wpl and gazeboMODEM.wpl
or Porticus.wpl and porticusMODEM.wpl
CFG:wpl/gen/umbrella/modems/MODEM.CFG
Umbrella modem config contains information related to the particular
port, device, modem and display.
umbrella.wpl and umbrellaMODEM.wpl are generated.
NOTE: Both Roof and Porticus mailers require that modem config file
names start at 2, regardless of wether WPL Function Host is installed or
not.
Modem?.cfg keywords:
modem USR Courier 2400e 7Wire
The name of the modem to use in window titles.
device artser.device 0
Serial device and unit number
rtscts TRUE
enable/disable 7wire hardware handshaking
required if LOCKED is TRUE
dtrctl 1
0 No support for DTR
1 Internal port 'twiddling the bits'
*USE THIS ON INTERNAL PORT ONLY*
2 SET_CTRL_LINES method
(ASDG DSB, PDIO, CMI Multiport, CSA Magnum, etc.)
Buffers 8 8
Receive and Write Serial Buffers in KBs.
Serial Receive buffer:
This is a value given to the particular serial driver, and
the driver itself allocates this buffer.
Serial Write buffer:
This is the switch to turn on the double buffered writes to
the serial port. The value has to be greater than the size
of the largest single write that would be made. For
example, a 9600bps+ modem uses an 8K block to write, so
some value LARGER than this (Say 10) should be used. Two
buffers of this size are allocated.
*NOTE* : This feature separates the good serial drivers
from the bad. If your system does not work with this
turned on, a value of 0 can be used to turn this feature
off.
SlowModem FALSE
If TRUE, a 60ms delay will be placed between each character in
modem command strings.
Locked TRUE Port is locked at higher rate than modem.
lockedbps 19200 the port<->modem rate
linkbps 2400 the modem<->modem rate
initwait 3 number of seconds to wait for an OK response
after sending Init command.
The following control operations on a per line basis.
offset 159
This is the pixel line for the top of both the XPR and Scrolling
mailer displays.
lo FALSE
If TRUE, this line will not accept inbound calls from site not in
the site cache or a nodelist.
tryfts1 TRUE
If TRUE, will enable FTS-0001 (Lotek) sessions on this line.
trywazoo TRUE
If TRUE, will enable FTS-0006 (WaZoo) sessions on this line.
tryemsi FALSE
If TRUE, will enable FSC-0056 (EMSI) sessions on this line.
FIDONET sites MUST set BOTH tryfts1 and trywazoo TRUE.
MODEM RESPONSE STRINGS
We define what EVENT will be set by a string or pattern returned by the
modem. This requires a pair of parameters: the 'event' name, and the
second parameter is a pattern. Three types of EVENTS are used:
FIND event:
The event is the word 'find'. In this case the second parameter is not
a 'pattern', but is a string that will be case insensitive compared to the
response string. If the string matches, it will then look at the next
character looking for a baud rate number. An example would be:
FIND CONNECT
The event type will be reported as 'CONNECT', and the baudrate is
changed to the number grabbed after the string, unless the modem is LOCKED.
BAUD event:
The event is a number. In this case the second parameter is a case
insensitive AmigaDos wildcard. If it matches the incoming string, the
event is set to 'CONNECT', and the baudrate is changed to the given number.
TEXT event:
The event is text, in which case the second parameter is a case
insensitive AmigaDos wildcard. If the wildcard matches, the event is set
to the value given by the first parameter.
The REQUIRED events are: OK, busy, connect
If not a wildcard, thepattern to Match should exactly match YOUR modem's
response strings :)
examples:
event pattern
----- -------
OK OK - command ok
BUSY BUSY - response that will set the busy event
BUSY NO CARRIER
BUSY NO ANSWER
BUSY RING - this would disable answer
BUSY NO DIALTONE
CONNECT CONNECT - responses that would set the connect event
LINE VOICE - repsonses that would indicate a line error
LINE CONNECT 0
LINE CONNECT|
LINE ERROR
MAID VOICE - response that would indicate a human error
300 CONNECT - responses that return CONNECT an the baud rate
FIND CONNECT - connect baud rate will be returned
RING RING - response that would set the ring event
RING NO DIALTONE - this would force answer during dialing
RING NODIALTONE - this would force answer during dialing
FAX +FCON - indicates fax connection
MODEM COMMAND STRINGS
Commands sent to the modem are interpreted using the following special
characters:
SPECIAL CHARACTERS
~ add a delay 240ms
` add a delay 60ms
| carriage return
^ raise DTR Use ONLY if DTRCTL set to 1
v drop dtr Use ONLY if DTRCTL set to 1
\ escape special character
(in case you USE some of the above as text :)
NOTE: one would precede these characters with the '\' escape character
if the special character needed to be sent out the modem). In order to be
able to send an "AT\" type command to the modem, you must use 4 '\' in the
string.
eg:
AT\\\\X3
AT\v
Atten |~AT|
Hangup v~~^~~ATH0|~AT|
Init ATE1Q0V1X4 &H1&K1&R2&M4&B7 S0=0|
to enable fax connection add appropriate command
Dial ~ATDT
Answer ATA|
TECHNICAL INFO:
Escape Chars:
\ - the following character will be used uninterpreted,
this is required for embedded quotes.
\n - Newline (Same as Linefeed)
\r - Return character
\### - send the Octal (base 8) character given by the three
digits following the slash.
Types of Variables:
Variable types are signified by the $ character, and the variable name
is bracketed by a special set of characters, one to begin the bracket, and
one to end. The bracketing character itself determines what TYPE of
variable is used. To add a '$' character itself to the string, or to defer
the expansion of a wpl variable until execution, use two $ characters one
after the other.
$½╗ - SHELTER *GEN.cfg environmental variable
During generation, the variable will be
expanded to it's value
$() - WPL variable set with the 'Set' WPL command
${} - WPL AmigaDOS ENV: global variable,
set with the 'SetEnv' WPL command or externally.
$[] - WPL AmigaDOS SHELL local variable,
set with the 'SetVar' WPL command or externally.
$<> - WPL read-only calculated variables.
These variables are calculated at the time that
their value is requested.
The following calculated variables are available:
$<date> - substitutes an unlocalized date in dd-mm-yy format.
$<port> - substitutes the unique REXX compatible message port name that
identifies the current slave.
$<time> - substitutes the current time in hh:mm:ss format. This will
be localized at a future point.
If a wpl environment variable is referenced as $½ENVNAME╗, the actual
value will be substituted during mailer generation. ½ and ╗ are the small
double bracket characters: ALT-9 and ALT-0. What YOU see depends on the
font you are using; if using an IBM font you will see a small '1/2' and a
'double-line top-right corner'.
Certain ENV: variables, such as "WPLname" (name and version of
wpl.library) must NOT be set to "$½..╗", since they are not set until the
mailer is loaded.
The "SMVER" variable (version of the Shelter Mailer Manager) is set by
Shelter, so you must run Shelter before GenMailer in order to use it.
The following internal wpl variables may be used where required in BBS,
TERM, FAX, LOGIN or other command lines:
$(line) - mailer line
$(device) - serial device driver
$(unit) - serial device unit
$$(baud) - modem<->modem bps (deferred expansion)
$(baudlocked) - port<->modem bps
$(baud) - modem<->modem bps (not normally used)
DEFERRED EXPANSION:
In some cases, it will be necessary to DEFER expansion of a variable
until the command is actually executed. WPL provides for this, if you
preceed the variable name with a second "$". For example, if the command
to launch needs the actual baud rate passed to it, and this is true is
almost every case, you would specify $$(baud). It is not necessary to
defer the expansion the other variables as they are line specific and the
values do not change.
NOTE: deferred expansion should NOT be used in CMD keywords.
Please note that if you use the "$½..╗" expansion option, all wpl
variables "$()" that are IN the environment string such as baud, that
require deferred expansion should use the $$() option.
RECURSIVE EXPANSION:
During operation, variable substitution is recursive, which means that
the value of a variable might itself contain a variable name, and the
variable name to be looked up could itself be formed out of other
variables. If this recursive calling is not desired, then a single tick
character is used after the $ character to indicate that no further
substitution is requested. In this non-recursive mode, any $ characters in
the value of a variable will not cause further variable expansion. The use
of the single tick is very advisable to use when printing out variables
typed in by a user, so that the user can not attempt to print out passwords
and other variable values.
That's it for now.